﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Webmedia.Wedding.Entities.Object.MuaKinhDoanh;
using Webmedia.Wedding.Entities.Object.People;
namespace Webmedia.Wedding.Entities.Object.SanPham
{
   public class SanPham
    {
        [Key]
        public int ID { get; set; }
        [Display(Name = "Tên sản phẩm")]
        public string TenSanPham { get; set; }

        [Display(Name = "Mô tả ngắn")]
        public string MoTaRutGon { get; set; }
        [Display(Name = "Mô tả chi tiết")]
        public string MoTaChiTiet { get; set; }
        //
        [Display(Name = "Nhà cung cấp")]
        public int NhaCungCapID { get; set; }
        [ForeignKey("NhaCungCapID")]
        public virtual NhaCungCap.NhaCungCap NhaCungCap { get; set; }

        [Display(Name = "Loại sản phẩm")]
        public int LoaiSanPhamID { get; set; }
        [ForeignKey("LoaiSanPhamID")]
        public virtual LoaiSanPham LoaiSanPham { get; set; }

        [Display(Name = "Đơn vị tính")]
        public int DonViTinhID { get; set; }
        [ForeignKey("DonViTinhID")]
        public DonViTinh DonViTinh { get; set; }

          [Display(Name = "Số lượng đơn vị")]
        public int SoLuongDonVi { get; set; }


          [Display(Name = "Người tạo")]
          public Nullable<int> NguoiTaoID { get; set; }
          [ForeignKey("NguoiTaoID")]
          public virtual NguoiDung NguoiTao { get; set; }
          //
          [Display(Name = "Ngày cập nhật")]
          public Nullable<DateTime> NgayUpdate { get; set; }
          //
          [Display(Name = "Người cập nhật")]
         public Nullable<int> NguoiUpdateID { get; set; }
          [ForeignKey("NguoiUpdateID")]
          public virtual NguoiDung NguoiCapNhat { get; set; }

          public bool Deleted { get; set; }
          [Display(Name = "Áp dụng")]
          public bool Enable { get; set; }

          [InverseProperty("SanPham")]
          public virtual ICollection<HopDong.HopDong_SanPham> HopDong_SanPhams { get; set; }

          [InverseProperty("SanPham")]
          public virtual ICollection<BangGiaSanPham> BangGiaSanPhams { get; set; }

          [InverseProperty("SanPham")]
          public ICollection<Restaurent.PhieuNhapKho> PhieuNhapKhos { get; set; }

          [InverseProperty("SanPham")]
          public ICollection<SanPhamTrongKho> SanPhamTrongKhos { get; set; }  
    }
}
